.v-link {
  --v-link-font-size: 14px;
  --v-link-font-weight: 500;
  --v-link-text-color: #606266;
  --v-link-hover-text-color: #409eff;
  --v-link-disabled-text-color: #a8abb2;

  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  position: relative;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  padding: 0;
  font-size: var(--v-link-font-size);
  font-weight: var(--v-link-font-weight);
  color: var(--v-link-text-color);

  &__inner {
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  &--primary {
    --v-link-text-color: #409eff;
    --v-link-hover-text-color: #79bbff;
    --v-link-disabled-text-color: #a0cfff;
  }

  &--success {
    --v-link-text-color: #67c23a;
    --v-link-hover-text-color: #95d475;
    --v-link-disabled-text-color: #b3e19d;
  }

  &--warning {
    --v-link-text-color: #e6a23c;
    --v-link-hover-text-color: #eebe77;
    --v-link-disabled-text-color: #f3d19e;
  }

  &--danger {
    --v-link-text-color: #f56c6c;
    --v-link-hover-text-color: #f89898;
    --v-link-disabled-text-color: #fab6b6;
  }

  &--info {
    --v-link-text-color: #909399;
    --v-link-hover-text-color: #b1b3b8;
    --v-link-disabled-text-color: #c8c9cc;
  }

  &.is-disabled {
    color: var(--v-link-disabled-text-color);
    cursor: not-allowed;
  }

  &:hover {
    color: var(--v-link-hover-text-color);
  }

  &.is-underline:hover::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 0;
    bottom: 0;
    border-bottom: 1px solid var(--v-link-hover-text-color);
  }

  &--default::after {
    border-color: var(--v-link-hover-text-color);
  }

  &--primary::after,
  &--success::after,
  &--warning::after,
  &--danger::after,
  &--info::after {
    border-color: var(--v-link-text-color);
  }
}
